iT邦幫忙

2024 iThome 鐵人賽

DAY 3
3
自我挑戰組

AI救我系列 第 3

Day 3 - ABCD 矩陣光線追跡法:追蹤光經過各種介質後的路線

  • 分享至 

  • xImage
  •  

好了!該是要進入核心內容了~
做為起手式,我決定來showcase在光電課程中,第一個試做的項目---
利用python進行ABCDmatrix光線追跡!

什麼是 ABCD 矩陣光線追跡法?
ABCD 矩陣,又稱光學傳輸矩陣或光線傳輸矩陣,是一種將光線在光學系統中傳播的關係簡化為矩陣運算的方法。對於一個光學系統中的每個元件(如透鏡或介質),我們可以定義一個 2x2 的 ABCD 矩陣來描述它對光線的影響。
光線的狀態可以用一個二維向量來表示:

https://ithelp.ithome.com.tw/upload/images/20240915/20168442aHBOir1eOE.png

其中,
r 是光線相對光軸的位置,θ 是光線相對光軸的弧度。
當光線通過一個光學元件後,新狀態可用以下矩陣乘法表示:

https://ithelp.ithome.com.tw/upload/images/20240915/20168442Tyf70DmBwx.png

切記!光源出發到透鏡的矩陣算式排列為右到左,也就是離光源越遠越是靠左邊。

當沒有通過任何透鏡,或沒有穿越不同介質,也就是在同樣環境中傳遞一定距離d,其矩陣為:

https://ithelp.ithome.com.tw/upload/images/20240915/20168442L97tx2HMEi.png

每個光學元件的 ABCD 矩陣都不同。例如,對於一個焦距為 f 的薄透鏡,其矩陣為:
https://ithelp.ithome.com.tw/upload/images/20240915/20168442lMWHPgS414.png

在設定上,焦距大於零的為凸透鏡:焦距小於零的是凹透鏡。

https://ithelp.ithome.com.tw/upload/images/20240915/20168442AHE6uPVxzX.png

上表可以看到這種算法下對各種鏡種的矩陣設定,有興趣可以去wiki查看詳細內容,不過作為示範,目前只會用到介質(空氣)和薄凹/凸透鏡。

介紹完畢,明天就要上python寫算式囉!


上一篇
Day 2 - 使用Matplotlib視覺化數據:基礎繪圖入門
下一篇
Day 4 - 在Python中使用 ABCD 矩陣追踪光線(1)
系列文
AI救我14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言